package ModulHåndtering;

import java.awt.Point;
import java.util.ArrayList;

public class SensorLys extends Sensor {

    public SensorLys() {
        dataPunkter = new ArrayList<>();
    }

    @Override
    public String formatData() {
        if (dataPunkter.size() > 0) {
            String dataString = String.format("%05d", dataPunkter.get((dataPunkter.size() - 1)));
            return (dataString + " Lux");
        } else {
            return (data + " Lux");
        }
    }

    @Override
    public int grafData() {
        return data;
    }

    @Override
    public void oversætData(String rawDataString) {
        int indexStart = (rawDataString.indexOf(("L"))) + 1;
        datasString = rawDataString.substring(indexStart);

        data = Integer.parseInt(datasString);
    }

    @Override
    public ArrayList<Point> grafPunkter() {
        ArrayList<Point> graphPoints = new ArrayList<>();

        int grafOpløsning; //Sæt mængden af punkter på grafen
        if (dataPunkter.size() > GRAF_OPLØSNING) {
            grafOpløsning = GRAF_OPLØSNING;
        } else {
            grafOpløsning = dataPunkter.size() - 1;
        }
        //Generer punkter til grafen
        for (int i = 0; i < grafOpløsning + 1; i++) {
            int x = (int) GRAF_BREDDE - (i * (GRAF_BREDDE / GRAF_OPLØSNING));
            int y = (int) (dataPunkter.get(dataPunkter.size() - (i + 1)) / 150);
            Point p = new Point(x, y);
            graphPoints.add(p);
        }
        return graphPoints;
    }

}
